
* @file Tests on algorithmds of tenacitas::time

#include <tenacitas.tester/test.h>
#include <tenacitas.tester/test_printer.h>
#include <tenacitas.basic/ptr.h>
#include <tenacitas.basic/fault.h>
#include <sstream>

#include "date.h"
#include "algorithm.h"

using namespace std;
using namespace tenacitas;

namespace tenacitas {
    namespace time_tests {


	    * Tests to calculate the next month to 18-may-2008
	    class t100023 : public tenacitas::test {

	    public:
		t100023 ();
		~t100023();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Tests to calculate the next month to 10-dec-2009
	    class t100024 : public tenacitas::test {

	    public:
		t100024 ();
		~t100024();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };


	    	    * Shifts the date of 2008.05.02 1 year forward
	    class t100038 : public tenacitas::test {

	    public:
		t100038 ();
		~t100038();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.05.02 8 years forward
	    class t100039 : public tenacitas::test {

	    public:
		t100039 ();
		~t100039();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the a date of 2008.05.02 1 year backwards
	    class t100040 : public tenacitas::test {

	    public:
		t100040 ();
		~t100040();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date 2008.05.02 8 years backwards
	    class t100041 : public tenacitas::test {

	    public:
		t100041 ();
		~t100041();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.05.02 5 months forward
	    class t100042 : public tenacitas::test {

	    public:
		t100042 ();
		~t100042();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.05.02 3 months backwards
	    class t100043 : public tenacitas::test {

	    public:
		t100043 ();
		~t100043();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.01.31 1 months forward
	    class t100044 : public tenacitas::test {

	    public:
		t100044 ();
		~t100044();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.04.30 2 months backward
	    class t100045 : public tenacitas::test {

	    public:
		t100045 ();
		~t100045();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.05.31 4 months forward
	    class t100046 : public tenacitas::test {

	    public:
		t100046 ();
		~t100046();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.08.31 2 months backward
	    class t100047 : public tenacitas::test {

	    public:
		t100047 ();
		~t100047();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };


	    * Shifts the date of 2008.10.02 7 months forward
	    class t100048 : public tenacitas::test {

	    public:
		t100048 ();
		~t100048();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.10.31 7 months forward
	    class t100049 : public tenacitas::test {

	    public:
		t100049 ();
		~t100049();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.10.31 4 months forward
	    class t100050 : public tenacitas::test {

	    public:
		t100050 ();
		~t100050();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.01.04 11 months backwards
	    class t100051 : public tenacitas::test {

	    public:
		t100051 ();
		~t100051();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.01.31 11 months backwards
	    class t100052 : public tenacitas::test {

	    public:
		t100052 ();
		~t100052();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.01.31 2 months backwards
	    class t100053 : public tenacitas::test {

	    public:
		t100053 ();
		~t100053();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.01.02 13 months forward
	    class t100054 : public tenacitas::test {

	    public:
		t100054 ();
		~t100054();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.01.31 13 months forward
	    class t100055 : public tenacitas::test {

	    public:
		t100055 ();
		~t100055();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.01.31 15 months forward
	    class t100056 : public tenacitas::test {

	    public:
		t100056 ();
		~t100056();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.01.02 30 months forward
	    class t100057 : public tenacitas::test {

	    public:
		t100057 ();
		~t100057();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.01.31 15 months forward
	    class t100058 : public tenacitas::test {

	    public:
		t100058 ();
		~t100058();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.01.31 29 months forward
	    class t100059 : public tenacitas::test {

	    public:
		t100059 ();
		~t100059();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.01.02 64 months forward
	    class t100060 : public tenacitas::test {

	    public:
		t100060 ();
		~t100060();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.01.31 61 months forward
	    class t100061 : public tenacitas::test {

	    public:
		t100061 ();
		~t100061();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.01.31 68 months forward
	    class t100062 : public tenacitas::test {

	    public:
		t100062 ();
		~t100062();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.07.02 17 months backwards
	    class t100063 : public tenacitas::test {

	    public:
		t100063 ();
		~t100063();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.07.31 17 months backwards
	    class t100064 : public tenacitas::test {

	    public:
		t100064 ();
		~t100064();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.03.31 15 months forward
	    class t100065 : public tenacitas::test {

	    public:
		t100065 ();
		~t100065();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.07.02 29 months backwards
	    class t100066 : public tenacitas::test {

	    public:
		t100066 ();
		~t100066();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.07.31 29 months backwards
	    class t100067 : public tenacitas::test {

	    public:
		t100067 ();
		~t100067();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.03.31 27 months forward
	    class t100068 : public tenacitas::test {

	    public:
		t100068 ();
		~t100068();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.07.02 65 months backwards
	    class t100069 : public tenacitas::test {

	    public:
		t100069 ();
		~t100069();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Shifts the date of 2008.07.31 65 months backwards
	    class t100070 : public tenacitas::test {

	    public:
		t100070 ();
		~t100070();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };


	    * Shifts the date of 2008.03.31 63 months forward
	    class t100071 : public tenacitas::test {

	    public:
		t100071 ();
		~t100071();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };


	    * Calculates the number of months between 2010.05.10 and 2008.05.06
	    class t100072 : public tenacitas::test {

	    public:
		t100072 ();
		~t100072();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };


	    * Calculates the number of months between 2010.04.10 and 2010.09.06
	    class t100073 : public tenacitas::test {

	    public:
		t100073 ();
		~t100073();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };

	    * Calculates the number of months between 2008.05.06 and 2009.08.10
	    class t100074 : public tenacitas::test {

	    public:
		t100074 ();
		~t100074();
		void operator ( ) ( ptr<tenacitas::test_printer> print )
		    throw ( fault );
	    };
	}
}

